這篇將會繼續介紹如何在 Series 和 DataFrame 上面做元素的操作。
今天來介紹兩個強大的函數 .loc() 和 .iloc,這兩個函數提供非常方便的提取元素方式,下面就趕快來看一下如何使用吧。
先建立 Series 的物件
data_series = pd.Series(['apple', 'banana', 'cat', 'dog'], index=['a', 'b', 'c', 'd'])
print(data_series)
輸出結果
a apple
b banana
c cat
d dog
dtype: object
.loc() & .iloc() 的示範
print('#1')
print(data_series.loc['b']) #提取索引標籤為b的值
print('\n#2')
print(data_series.loc['b':'d']) #提取索引標籤b到d的值
print('\n#3')
print(data_series.iloc[0]) #提取索引位置為0的值
print('\n#4')
print(data_series.iloc[0:3]) #提取索引位置為0-2的值
#這裡要注意提取的值不包含索引位置3喔
#loc&iloc都可以利用類似提取串列(list)元素的方式(切片法)提取元素
輸出結果
#1
banana
#2
b banana
c cat
d dog
dtype: object
#3
apple
#4
a apple
b banana
c cat
dtype: object
建立 DataFrame 的物件
dict_ = {'guitar': [2, 3, 4], 'bass': [5, 6, 7], 'keyboard': [8, 9, 10]}
instrument = pd.DataFrame(dict_, index=['A', 'B', 'C'])
print(instrument)
輸出結果
guitar bass keyboard
A 2 5 8
B 3 6 9
C 4 7 10
.loc() 的示範
在 DataFrame 上,規則大概就是 .loc([index, column]) #index等於row
print('#1')
print(instrument.loc['B']) #提取索引標籤為B的整列
print('\n#2')
print(instrument.loc['B':'C']) #提取索引標籤B到C整列
print('\n#3')
print(instrument.loc[:, 'guitar']) #提取索引標籤guitar整欄
print('\n#4')
print(instrument.loc[:, 'guitar':'bass']) #提取索引標籤guitar到bass整欄
print('\n#5')
print(instrument.loc['A':'B', 'guitar':'bass']) #提取索引標籤A到B,索引標籤guitar到bass的值
print('\n#6')
print(instrument.loc['B', 'guitar']) #提取索引標籤B,索引標籤guitar的值
print('\n#7')
print(instrument.loc['C', 'bass']) #提取索引標籤C,索引標籤bass的值
輸出結果
#1
guitar 3
bass 6
keyboard 9
Name: B, dtype: int64
#2
guitar bass keyboard
B 3 6 9
C 4 7 10
#3
A 2
B 3
C 4
Name: guitar, dtype: int64
#4
guitar bass
A 2 5
B 3 6
C 4 7
#5
guitar bass
A 2 5
B 3 6
#6
3
#7
7
.iloc() 的示範
與上面.loc()的範例一樣,改成索引位置而已
print('#1')
print(instrument.iloc[1])
print('\n#2')
print(instrument.iloc[1:3])
print('\n#3')
print(instrument.iloc[:, 0])
print('\n#4')
print(instrument.iloc[:, :2])
print('\n#5')
print(instrument.iloc[:2, :2])
print('\n#6')
print(instrument.iloc[1, 0])
print('\n#7')
print(instrument.iloc[2, 1])
輸出結果
#1
guitar 3
bass 6
keyboard 9
Name: B, dtype: int64
#2
guitar bass keyboard
B 3 6 9
C 4 7 10
#3
A 2
B 3
C 4
Name: guitar, dtype: int64
#4
guitar bass
A 2 5
B 3 6
C 4 7
#5
guitar bass
A 2 5
B 3 6
#6
3
#7
7
下一篇將介紹更多 Pandas 相關的函數操作喔!